The Programmer's Guide to SCSI
Companion CD-ROM
This companion CD-ROM contains sample code, tools, and documentation
that you will find helpful as you explore SCSI further. For a more accurate
listing of the contents, see Appendix D in the book.
Keep in mind that SCSI is a rapidly evolving technology. Some of the
contents of the CD-ROM may be out of date by the time you read this. Nevertheless,
it's convenient to have them at your fingertips.
SCSI Draft Specifications
The SCSI-1, SCSI-2,
and SCSI-3 draft specifications appear under the
SCSISpec directory. The older specifications are plain text files and Adobe
Acrobat PDF files. The components of the SCSI-3 draft specification are
distributed as PDF and PostScript files. You'll need Adobe's
Acrobat Reader to view the PDF files. We have included it in the Acrobat
directory.
We have also included Gary Bartlett's
HTML transcription of the SCSI-2 draft specification.
Many parts of the SCSI-3 specification are still under revision. For
the latest updates, check the T10
Committee web site.
Note that these are the draft specifications distributed by the National
Committee for Information Technology Standards (NCITS), formerly the
X3 Committee. They are not intended as a substitute for obtaining a copy
of the of the approved ANSI standards.
Sample Code
The SCRIPTS sample code and the source code for the SCSI Snooper application
appear on the disk under the SampCode directory. You'll find the source
code along with the compiled applications.
You'll also find the source code for the TSPI target mode API library
under the SampCode directory.
-
SCRIPTS Sample Code
The SCRIPTS sample code contains the routines presented in the SCRIPTS
chapter. It contains a makefile for building the sample SCSI inventory
program. The makefile is compatible with Borland's make utility, distributed
with their C++ compiler. The makefile assumes you are using Borland C++
and Turbo Assembler. You'll need to modify it if you are porting the code
to another compiler.
-
SCSI Snooper Application
The code for the SCSI Snooper application includes a makefile generated
by Microsoft's Visual C++ development environment. You can use it as is,
or generate a project file from it. The compiled application and required
libraries appear in the Program subdirectory.
-
TSPI Target Mode SCSI Programming Interface
The code for the TSPI target-mode programming interface appears in
the TSPI subdirectory. You'll also find sample code from the Target Mode
Programming chapter here.
SCSI Frequently Asked Questions
No SCSI book would be complete without a copy of Gary
Field's SCSI FAQ. You'll find it in the SCSIFaq directory. This document
is posted monthly in the comp.periphs.scsi usenet newsgroup.
Symbios SCRIPTS Support
The Symbios subdirectory contains tools and sample code for working with
the SCRIPTS language. You'll find the NASM compiler in the Tools subdirectory,
along with the NVPCI debugger.
The 8xxdev directory contains
sample code that demonstrates using SCRIPTS for SCSI initiator code. Other
source files in this directory contain utility routines you'll want to
use for your own software.
The 8xxtarg directory contains
sample code that demonstrates using SCRIPTS for target mode applications.
The sample application creates a virtual SCSI disk drive that can be useful
for testing other applications.
Linux SCSI Documentation
Under the Linux directory on the CD-ROM, you'll find
the Linux HOWTO documents for SCSI support and SCSI programming. The SCSI
programming HOWTO document contains an example application that uses the
Linux
SCSI pass-through feature.
We have also included an archive of the kernel source code for version
2.0.30. You'll need Gnu zip to unpack the tar file, or a Windows utility
like WinZip. The linux/drivers/scsi directory in the archive holds driver
source code for a variety of SCSI host adapters and the code for the SCSI
pass-through driver, sg.c. Other SCSI support files are found in the linux/include/scsi
directory of the archive.